package route

import (
	admin_controller "cloud-navigation/app/controller/adminController"
	"cloud-navigation/app/controller/app"
	"cloud-navigation/app/controller/auth"
	"cloud-navigation/app/middleware"
	"cloud-navigation/app/services"
	"cloud-navigation/utils"
)

// 设置api分组路由
func SetApiRouter(r *utils.Resource) {
	// 获取服务器时间
	r.GET("/time", app.ServerTime)
	// 获取验证码图片
	r.GET("/captcha", app.GetCaptcha)

	// 前台路由
	{
		// 前台登录
		r.POST("/login", auth.Login)
		// 节假日数据获取
		r.GET("/holidays", app.Holidays)
		// 获取系统信息
		r.GET("system", admin_controller.GetSystem)
		// 记录访问信息
		r.GET("/visit", app.VisitLog)
		// // 获取导航分类
		// r.GET("/assort", app.Assort)
		// 获取导航列表
		r.GET("/navigation", app.Navigation)

		// 使用jwt验证
		userAuth := r.Group("").Use(middleware.JWTAuth(services.AppGuardName))
		// 退出
		userAuth.GET("/logout", auth.Logout)
		{
			//
		}
	}

	// 后台管理路由
	{
		admin := r.Group("admin")
		// 后台登录
		admin.POST("/login", auth.AdminLogin)

		// 添加登录验证中间件
		adminAuth := admin.Group("")
		adminAuth.Use(middleware.JWTAuth(services.AdminGuardName))
		// 后台退出
		adminAuth.GET("/logout", auth.AdminLogout)
		// 后台管理员注册
		adminAuth.POST("/register", auth.AdminRegister)
		// 后台管理员删除
		adminAuth.DELETE("/:id", auth.AdminDelete)
		// 后台添加节假日
		adminAuth.POST("/holidays", app.HolidaysAdd)
		// 导航分类
		adminAuth.Resource("assort", &admin_controller.Assort{})
		// 导航管理
		adminAuth.Resource("navigation", &admin_controller.Navigation{})
		// 系统管理
		adminAuth.POST("system", admin_controller.SaveSystem)
		// 上传logo图片
		adminAuth.POST("logo", admin_controller.UploadLogo)
		// 系统日志
		adminAuth.GET("logs", admin_controller.GetAdminLogs)
		// 获取控制台信息
		adminAuth.GET("index_info", app.Info)
		// 获取近30天访问详情
		adminAuth.GET("visits", app.Visit)
	}
}
